# Run configure to generate Makefile from Makefile.in on
# any system supported by GNU autoconf.  For all other
# systems, use this file as a template to create a
# working Makefile.

CC = gcc
CFLAGS = -g -O2 -Wall

LIBS =  -lm

AR = /usr/bin/ar
RANLIB = ranlib
srcdir=.

OBJS = \
	src/resample.c.o \
	src/resamplesubs.c.o \
	src/filterkit.c.o

TARGETS = libresample.a tests/testresample
DIRS=tests

all: $(TARGETS)

libresample.a: $(OBJS) Makefile
	$(AR) ruv libresample.a $(OBJS)
	ranlib libresample.a

tests/testresample: libresample.a $(srcdir)/tests/testresample.c $(DIRS)
	$(CC) -o tests/testresample \
		$(CFLAGS) $(srcdir)/tests/testresample.c \
		libresample.a $(LIBS)

tests/compareresample: libresample.a $(srcdir)/tests/compareresample.c $(DIRS)
	$(CC) -o tests/compareresample \
		$(CFLAGS) $(srcdir)/tests/compareresample.c \
		libresample.a -lsamplerate $(LIBS)

tests/resample-sndfile: libresample.a $(srcdir)/tests/resample-sndfile.c $(DIRS)
	$(CC) -o tests/resample-sndfile \
		$(CFLAGS) $(srcdir)/tests/resample-sndfile.c \
		libresample.a -lsndfile $(LIBS)

$(DIRS):
	mkdir $(DIRS)

clean:
	rm -f $(TARGETS) $(OBJS)

dist: clean
	rm -f Makefile
	rm -f config.status config.cache config.log src/config.h
	rm -f *~ src/*~ tests/*~ include/*~

$(OBJS): %.c.o: $(srcdir)/%.c Makefile $(srcdir)/include/libresample.h \
	$(srcdir)/src/resample_defs.h $(srcdir)/src/filterkit.h $(srcdir)/src/config.h
	$(CC) -c $(CFLAGS) $< -o $@
